package com.situ.web.service.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.situ.web.dao.IBanjiDao;
import com.situ.web.dao.IStudentDao;
import com.situ.web.dao.impl.BanjiDaoImpl;
import com.situ.web.dao.impl.StudentDaoMySqlImpl;
import com.situ.web.entity.Banji;
import com.situ.web.entity.Course;
import com.situ.web.entity.PageBean;
import com.situ.web.entity.PageBean2;
import com.situ.web.service.IBanjiService;
import com.situ.web.entity.Banji;

public class BanjiServiceImpl implements IBanjiService{
	private IBanjiDao banjiDao = new BanjiDaoImpl();
	
	@Override
	public List<Banji> selectAll() {
		List<Banji> list = banjiDao.selectAll();
		
		return list;
	}

	@Override
	public List<Banji> search(String name) {
		return banjiDao.search(name);
	}

	@Override
	public boolean insert(Banji banji) {
		// 1、数据库中查看是不是有该姓名的学生 selectByName(name)
		// 2.1、如果有：表示该名字用户已经存在,不去调用insert
		// 2.2、如果没有：表示该名字用户不存在,去调用insert插入这个用户
		List<Banji> list =  banjiDao.selectByName(banji.getName());
		if (list.size() > 0) {
			System.out.println("该用户已经存在");
			// 该名字用户已经存在
			return true;
		} else {
			int count = banjiDao.insert(banji);
			return count == 1 ? true : false;
		}
	}

	@Override
	public boolean update(Banji banji) {
		int count = banjiDao.update(banji);
		return count == 1 ? true : false;
	}

	@Override
	public boolean deleteById(Integer id) {
		int count = banjiDao.deleteById(id);
		return count == 1 ? true : false;
	}

	@Override
	public List<Banji> selectById() {
		List<Banji> list = banjiDao.selectById();
		return list;
	}

	@Override
	public Banji selectById2(Integer id) {
		return  banjiDao.selectById2(id);
	}

	@Override
	public PageBean2 pageList(Integer pageNo, Integer pageSize) {
		PageBean2 pageBean2 = new PageBean2();
		// 当前是第几页
		pageBean2.setPageNo(pageNo);
		// 一页有多少条数据
		pageBean2.setPageSize(pageSize);
		// 一共多少数据
		int count = banjiDao.getTotalCount();
		// 一共有多少页
		int totalPage = (int) Math.ceil ((double)count/pageSize);
		pageBean2.setTotalPage(totalPage);
		// 当前页数据
		int offset = (pageNo - 1) * pageSize;
		List<Banji> list = banjiDao.pageList(offset, pageSize);
		pageBean2.setList(list);
		
		return pageBean2;
	}

	@Override
	public List<Map<String, Object>> selectBanjiCourseInfo() {
		return banjiDao.selectBanjiCourseInfo();
	}

	@Override
	public ArrayList<Course> selectCourse() {
		ArrayList<Course> list = (ArrayList<Course>) banjiDao.selectCourse();
		return list;
	}

}
